<template>
    <div class="register">
        <!-- 医院名称和等级 -->
        <div class="top">
            <div class="title">{{ detailStore.hospitalDetail?.hospital.hosname }}</div>
            <div class="level">
                <svg t="1710600959610" class="icon" viewBox="0 0 1024 1024" version="1.1"
                    xmlns="http://www.w3.org/2000/svg" p-id="11896" width="16" height="16">
                    <path
                        d="M190.193225 471.411583c14.446014 0 26.139334-11.718903 26.139334-26.13831 0-14.44499-11.69332-26.164916-26.139334-26.164916-0.271176 0-0.490164 0.149403-0.73678 0.149403l-62.496379 0.146333c-1.425466-0.195451-2.90005-0.295735-4.373611-0.295735-19.677155 0-35.621289 16.141632-35.621289 36.114522L86.622358 888.550075c0 19.949354 15.96767 35.597753 35.670407 35.597753 1.916653 0 3.808746 0.292666 5.649674 0l61.022819 0.022513c0.099261 0 0.148379 0.048095 0.24764 0.048095 0.097214 0 0.146333-0.048095 0.24457-0.048095l0.73678 0 0-0.148379c13.413498-0.540306 24.174586-11.422144 24.174586-24.960485 0-13.55983-10.760065-24.441669-24.174586-24.981974l0-0.393973-50.949392 0 1.450025-402.275993L190.193225 471.409536z"
                        fill="#5D5D5D" p-id="11897"></path>
                    <path
                        d="M926.52241 433.948343c-19.283182-31.445176-47.339168-44.172035-81.289398-45.546336-1.77032-0.246617-3.536546-0.39295-5.380544-0.39295l-205.447139-0.688685c13.462616-39.059598 22.698978-85.58933 22.698978-129.317251 0-28.349675-3.193739-55.962569-9.041934-82.542948l-0.490164 0.049119c-10.638291-46.578852-51.736315-81.31498-100.966553-81.31498-57.264215 0-95.466282 48.15065-95.466282 106.126063 0 3.241834-0.294712 6.387477 0 9.532097-2.996241 108.386546-91.240027 195.548698-196.23636 207.513194l0 54.881958-0.785899 222.227314 0 229.744521 10.709923 0 500.025271 0.222057 8.746198-0.243547c19.35686 0.049119 30.239721-4.817726 47.803749-16.116049 16.682961-10.761088 29.236881-25.50079 37.490869-42.156122 2.260483-3.341095 4.028757-7.075139 5.106298-11.20111l77.018118-344.324116c1.056052-4.053316 1.348718-8.181333 1.056052-12.160971C943.643346 476.446249 938.781618 453.944769 926.52241 433.948343zM893.82573 486.837924l-82.983993 367.783411-0.099261-0.049119c-2.555196 6.141884-6.879688 11.596106-12.872169 15.427364-4.177136 2.727111-8.773827 4.351098-13.414521 4.964058-1.49812-0.195451-3.046383 0-4.620227 0l-477.028511-0.540306-0.171915-407.408897c89.323375-40.266076 154.841577-79.670527 188.596356-173.661202 0.072655 0.024559 0.124843 0.049119 0.195451 0.072655 2.99931-9.137101 6.313799-20.73423 8.697079-33.164331 5.551436-29.185716 5.258771-58.123792 5.258771-58.123792-4.937452-37.98001 25.940812-52.965306 44.364417-52.965306 25.304316 0.860601 50.263777 33.656541 50.263777 52.326762 0 0 5.600555 27.563776 5.649674 57.190537 0.048095 37.366026-4.6673 56.847729-4.6673 56.847729l-0.466628 0c-5.872754 30.879288-16.214287 60.138682-30.464849 86.964654l0.36839 0.342808c-2.358721 4.815679-3.709485 10.220782-3.709485 15.943111 0 19.922748 19.088754 21.742187 38.765909 21.742187l238.761895 0.270153c0 0 14.666024 0.465604 14.690584 0.465604l0 0.100284c12.132318-0.638543 24.221658 5.207605 31.100322 16.409738 5.504364 9.016351 6.437619 19.6045 3.486404 28.988218L893.82573 486.837924z"
                        fill="#5D5D5D" p-id="11898"></path>
                    <path
                        d="M264.827039 924.31872c0.319272 0.024559 0.441045 0.024559 0.295735-0.024559 0.243547-0.048095 0.367367-0.074701-0.295735-0.074701s-0.539282 0.026606-0.271176 0.074701C264.43409 924.343279 264.532327 924.343279 264.827039 924.31872z"
                        fill="#5D5D5D" p-id="11899"></path>
                </svg>
                <span>{{ detailStore.hospitalDetail?.hospital.param.hostypeString }}</span>
            </div>
        </div>
        <!-- 医院挂号规则 -->
        <div class="content">
            <div class="left"><img :src="`data:image/jpeg;base64,${detailStore.hospitalDetail?.hospital.logoData}`"
                    v-if="detailStore.hospitalDetail" alt=""></div>
            <div class="right">
                <div>挂号规则</div>
                <div class="time">预约周期：{{ detailStore.hospitalDetail?.bookingRule.cycle }}天 &nbsp
                    放号时间：{{ detailStore.hospitalDetail?.bookingRule.releaseTime }} &nbsp
                    停挂时间：{{ detailStore.hospitalDetail?.bookingRule.stopTime }} &nbsp
                    退号时间：{{ detailStore.hospitalDetail?.bookingRule.quitTime }}
                </div>
                <div class="address">
                    医院地址：{{ detailStore.hospitalDetail?.hospital.param.fullAddress }}
                </div>
                <div class="route">
                    乘车路线：{{ detailStore.hospitalDetail?.hospital.route }}
                </div>
                <div class="rule">医院预约规则</div>
                <div class="detail-rule" v-for="(item, index) in detailStore.hospitalDetail?.bookingRule.rule"
                    :key="index">
                    {{ index + 1 }}.{{ item }}
                </div>
            </div>
        </div>
        <!-- 医院科室信息 -->
        <div class="department">
            <div class="left-nav">
                <!-- 此处采用部门标识码时，有些anchorlink不能跳转，将href改为部门名称后就可以了 -->
                <!-- 可能是因为标识码太长了 -->
                <!-- 而且不能与scrollbar连用 -->
                <el-anchor :container="rightContainer" direction="vertical" type="defalut" @click="handleClick">
                    <el-anchor-link v-for="department in detailStore.hospitalDepartment" :key="department.depname"
                        :href="'#' + department.depname" :title="department.depname" />
                </el-anchor>
            </div>

            <div class="department-detail" ref="rightContainer">

                <div :id="department.depname" v-for="department in detailStore.hospitalDepartment"
                    :key="department.depname" class="department-item">
                    <div class="sub-title">
                        <div class="block"></div>
                        <h1>{{ department.depname }}</h1>
                    </div>
                    <!-- 每个大科室下的小科室 -->
                    <ul>
                        <li @click="showLogin(item)" v-for="item in department.children" :key="item.depname">{{ item.depname
                            }}</li>
                    </ul>
                </div>

            </div>

        </div>
    </div>
</template>

<script setup lang="ts" name="register">
import { ref } from 'vue';
// 引入医院详情仓库的数据
import { useDetailStore } from '@/store/modules/hospitalDetail'
import { useUserStore } from '@/store/modules/user'
import { useRoute, useRouter } from 'vue-router';
const detailStore = useDetailStore()
const userStore = useUserStore()
// 引入路由器
const $router = useRouter()
// 引入路由
const $route = useRoute()

const rightContainer = ref<HTMLElement | null>(null)

// 阻止锚点组件点击部门后改变路由路径
const handleClick = (e: MouseEvent) => {
    e.preventDefault()
}

// 点击科室的回调事件
const showLogin = (item: any) => {
    // 点击某一个科室，进入到相应的预约挂号详情页面
    // 跳转到预约挂号详情页面
    $router.push({
        path: '/hospital/register_step1',
        query: {
            hoscode: $route.query.hoscode,
            depcode: item.depcode
        }
    })

    // if (!userStore.visible) {
    //     userStore.showLogin()
    // }
}
</script>

<style scoped lang="scss">
.register {
    margin-left: 20px;

    .top {
        display: flex;

        .title {
            font-size: 20px;
            font-weight: bold;

        }

        .level {
            color: #7f7f7f;
            margin-left: 10px;
            height: 30px;
            text-align: center;
            line-height: 25px;

            span {
                margin-left: 5px;
            }
        }
    }

    .content {
        display: flex;
        margin-top: 20px;

        .left {
            width: 80px;

            img {
                width: 80px;
                height: 80px;
            }
        }

        .right {
            flex: 1;
            font-size: 14px;
            margin-left: 20px;

            .time,
            .address,
            .route,
            .detail-rule {
                margin-top: 10px;
                color: #7f7f7f;
            }

            .rule {
                margin: 10px 0;
            }
        }
    }

    .department {
        display: flex;
        width: 100%;
        height: 500px;
        margin-top: 20px;

        .left-nav {
            width: 80px;
        }

        .department-detail {
            flex: 1;
            margin-left: 20px;
            overflow-y: auto;

            .department-item {
                background-color: rgb(248, 248, 248);
                padding: 10px 20px;

                .sub-title {
                    display: flex;
                    margin-bottom: 10px;

                    .block {
                        width: 4px;
                        border-radius: 2px;
                        background-color: #55a6fe;
                        margin-right: 5px;
                    }

                    h1 {
                        color: #333;
                        font-weight: 700;
                    }
                }

                ul {
                    display: flex;
                    flex-wrap: wrap;

                    li {
                        width: 33%;
                        color: #7f7f7f;
                        line-height: 25px;
                    }

                    li:hover {
                        cursor: pointer;
                        color: #55a5fe;
                    }
                }
            }
        }

        ::-webkit-scrollbar {
            width: 5px;
            background-color: #f8f8f8;
        }

        ::-webkit-scrollbar-thumb {
            background-color: #a0a0a0;
            border-radius: 5px;
        }
    }
}
</style>